package cn.kgc.springboot.mp.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;

/**
 * @author 课工场
 * @date 2024/11/29
 * @description   mp  通过解析实体类  映射表的字段
 * 1.  实体类中属性的名字要跟数据库中字段名一致
 * 2.  默认在查询数据时实体类中罗列的属性名会全部作为字段名进行查询
 * 3.  操作数据库表时会将实体类名字作为表名进行使用  User   user
 *
 *   以上的默认规则如果没有满足可以通过以下几种方式进行解决
 *   1.  实体类中的属性在表中不存在     @TableField(exist = false)
 *   2.  实体类中的属性名和表中的字段名不一致     @TableField("username")
 *   3.  实体类的名字和表名不一致    user  sys_user   @TableName("sys_user")
 */
@Data
@TableName("user")
public class User  implements Serializable {

    //声明id属性在数据库中时自增主键 在添加数据时不需要通过雪花算法生成id
    @TableId(type=IdType.AUTO)
    private Integer id;
    @TableField("username")
    private String uname;
    private String password;
    private String tel;
    @TableField("age")
    private Integer  age;

    private String sex;

    //  序列化号
    @TableField(exist = false)
    private Long  serialization = 1L ;

}
